home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0"?>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" version="1.0"
- xmlns="http://www.w3.org/TR/REC-html40"
- xmlns:dml = "http://www.purl.org/NET/ddml/v1"
- xmlns:DDML = "http://www.purl.org/NET/ddml/v1"
- xmlns:local="#local-functions">
-
- <xsl:param name="imageDir" select="'sdimages'"/>
- <xsl:param name="schemaName" select="' '"/>
- <xsl:output method="html" indent="yes"/>
- <xsl:strip-space elements="*"/>
- <xsl:template match="/">
- <html>
- <head>
- <title>SchemaDOC - <xsl:value-of select="$schemaName"/> </title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
-
- <style type="text/css">
- <!-- container for expanding/collapsing content -->
- .c {cursor:hand}
-
- <!-- button - contains +/-/nbsp -->
- .b {color:red; font-family:'Courier New'; font-weight:bold; text-decoration:none}
-
- <!-- element container -->
- .e {margin-left:1em; text-indent:-1em; margin-right:1em}
-
- <!-- comment or cdata -->
- .k {margin-left:1em; text-indent:-1em; margin-right:1em}
-
- <!-- tag -->
- .t {color:#000066}
-
- <!-- elementtype +eleemnt-->
- .et {color:#0000FF}
-
- <!-- xdr default element attributes-->
- .xdra {color:#006600}
-
- <!-- tag in xsl namespace -->
- .xt {color:#990099}
-
- <!-- attribute in xml or xmlns namespace -->
- .ns {color:red}
-
- <!-- markup characters -->
- .m {color:blue}
-
- <!-- text node -->
- .tx {font-weight:bold}
-
- <!-- multi-line (block) cdata -->
- .db {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px; padding-left:.3em; border-left:1px solid #CCCCCC; font:small Courier}
-
- <!-- single-line (inline) cdata -->
- .di {font:small Courier}
-
- <!-- DOCTYPE declaration -->
- .d {color:blue}
-
- <!-- pi -->
- .pi {color:blue}
-
- <!-- multi-line (block) comment -->
- .cb {text-indent:0px; margin-left:1em; margin-top:0px; margin-bottom:0px; padding-left:.3em; font:small Courier; color:#888888}
-
- <!-- single-line (inline) comment -->
- .ci {font:small Courier; color:#888888} PRE {margin:0px; display:inline} h1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18pt; color: #000000} .heading { text-align:right;} .content { vertical-align: baseline; } .note { color:gray;}
-
- .names {font-family:' Arial, Helvetica'; font-weight:bold; font-size:12 }
- .source {font-family:'Courier New'; font-size:12 }
- .values {font-family:'Verdana, Arial, Helvetica'; font-size:12 }
- .headers {font-family:'Verdana, Arial, Helvetica'; font-weight:bold; font-size:12 }
- .descriptions {font-family:'Courier New'; color:redfont-size:12 }
-
-
- </style>
- <SCRIPT type="text/javascript">
- <xsl:comment>
- <![CDATA[
- // Detect and switch the display of CDATA and comments from an inline view
- // to a block view if the comment or CDATA is multi-line.
- function f(e)
- {
- // if this element is an inline comment, and contains more than a single
- // line, turn it into a block comment.
- if (e.className == "ci") {
- if (e.children(0).innerText.indexOf("\n") > 0)
- fix(e, "cb");
- }
-
- // if this element is an inline cdata, and contains more than a single
- // line, turn it into a block cdata.
- if (e.className == "di") {
- if (e.children(0).innerText.indexOf("\n") > 0)
- fix(e, "db");
- }
-
- // remove the id since we only used it for cleanup
- e.id = "";
- }
-
- // Fix up the element as a "block" display and enable expand/collapse on it
- function fix(e, cl)
- {
- // change the class name and display value
- e.className = cl;
- e.style.display = "block";
-
- // mark the comment or cdata display as a expandable container
- j = e.parentElement.children(0);
- j.className = "c";
-
- // find the +/- symbol and make it visible - the dummy link enables tabbing
- k = j.children(0);
- k.style.visibility = "visible";
- k.href = "#";
- }
-
- // Change the +/- symbol and hide the children. This function works on "element"
- // displays
- function ch(e)
- {
- // find the +/- symbol
- mark = e.children(0).children(0);
-
- // if it is already collapsed, expand it by showing the children
- if (mark.innerText == "+")
- {
- mark.innerText = "-";
- for (var i = 1; i < e.children.length; i++)
- e.children(i).style.display = "block";
- }
-
- // if it is expanded, collapse it by hiding the children
- else if (mark.innerText == "-")
- {
- mark.innerText = "+";
- for (var i = 1; i < e.children.length; i++)
- e.children(i).style.display="none";
- }
- }
-
- // Change the +/- symbol and hide the children. This function work on "comment"
- // and "cdata" displays
- function ch2(e)
- {
- // find the +/- symbol, and the "PRE" element that contains the content
- mark = e.children(0).children(0);
- contents = e.children(1);
-
- // if it is already collapsed, expand it by showing the children
- if (mark.innerText == "+")
- {
- mark.innerText = "-";
- // restore the correct "block"/"inline" display type to the PRE
- if (contents.className == "db" || contents.className == "cb")
- contents.style.display = "block";
- else contents.style.display = "inline";
- }
-
- // if it is expanded, collapse it by hiding the children
- else if (mark.innerText == "-")
- {
- mark.innerText = "+";
- contents.style.display = "none";
- }
- }
-
- // Handle a mouse click
- function cl()
- {
- e = window.event.srcElement;
-
- // make sure we are handling clicks upon expandable container elements
- if (e.className != "c")
- {
- e = e.parentElement;
- if (e.className != "c")
- {
- return;
- }
- }
- e = e.parentElement;
-
- // call the correct funtion to change the collapse/expand state and display
- if (e.className == "e")
- ch(e);
- if (e.className == "k")
- ch2(e);
- }
-
- // Erase bogus link info from the status window
- function h()
- {
- window.status=" ";
- }
-
- // Set the onclick handler
- document.onclick = cl;
-
- ]]>
- //
- </xsl:comment>
- </SCRIPT>
-
- </head>
- <body bgcolor="#FFFFFF" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0">
- <xsl:apply-templates/>
- <center>
- <table border="0" WIDTH="90%" BGCOLOR="#eeeeee" >
- <tr>
- <td>
- <xsl:apply-templates mode="dtdSource" select="./dml:DocumentDef/dml:dtdsource"/>
- </td>
- </tr>
- </table>
- </center>
-
- </body>
- </html>
- </xsl:template>
- <xsl:template match="dml:DocumentDef">
- <table width="90%" border="0" cellspacing="4" cellpadding="2" align="center">
- <tr >
- <td bgcolor="#003366" colspan="2" >
- <font face="Arial,Helvetica" size="5" color="#FFFFFF">
-
- XML DTD -
- <xsl:if test="@dml:Name">
- :
- <xsl:value-of select="@dml:Name"/> -
- </xsl:if>
- <xsl:value-of select="$schemaName"/>
- </font>
- </td>
- </tr>
- <xsl:if test="dml:DDML.Doc">
- <tr >
- <td width="20%" class="headers" bgcolor="#CCCCCC" align="right" valign="top" wrap="true">
- Schema Comments:
- </td>
- <td class="descriptions" align="left" bgcolor="#EEEEEE" fgcolor="#FFAA00" valign="top">
- <font color="#990000">
- <xsl:apply-templates mode="comments" select="./DDML.Doc"/></font>
- </td>
- </tr>
- </xsl:if>
- <tr>
- <td width="20%" class="headers" bgcolor="#CCCCCC" align="right" valign="top" wrap="true">
- <div class="headers">Schema has:</div>
- </td>
- <td class="values" bgcolor="eeeeee" align="left" valign="top">
- <xsl:number value="count(dml:ElementDecl)"/>
- element definitions and
- <xsl:number value="count(dml:ElementDecl//dml:AttDef)"/>
- element attribute definitions.
- </td>
- </tr>
-
- <tr>
- <td width="20%" class="headers" bgcolor="#CCCCCC" align="right" valign="top" wrap="true">
- Posible root elements:
- </td>
- <td class="values" bgcolor="eeeeee" align="left" valign="top">
- <xsl:for-each select="dml:ElementDecl">
- <xsl:sort select="@Name"/>
-
- <xsl:choose>
- <!-- Look for root elements -->
- <xsl:when test="/*[not(.//dml:Ref[@Element=current()/@Name])]">
- <B>
- <
- <A>
- <xsl:attribute name="href">#ELEMENT_<xsl:value-of select="@Name"/>
- </xsl:attribute>
- <xsl:value-of select="@Name"/>
- </A>
- >
- </B>
- <xsl:choose>
- <xsl:when test=".//dml:Ref">†</xsl:when>
- <xsl:otherwise>(orphan?) </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="(position()+1) mod 3 = 1">
- <br/>
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- </xsl:for-each>
- </td>
- </tr>
- </table>
- <p/>
- <p/> <p/>
- <table width="90%" border="0" cellspacing="0" cellpadding="2" align="center">
- <tr >
- <td bgcolor="#003366" >
- <font face="Arial,Helvetica" size="5" color="#FFFFFF">
- Element list
- </font>
- </td>
- </tr>
- </table>
- <p/>
- <xsl:apply-templates mode="anElement" select="dml:ElementDecl"/>
-
- <P/>
- <P/>
- <P/>
- <table width="90%" border="0" cellspacing="0" cellpadding="2" align="center">
- <tr>
- <td bgcolor="#bbbbbb" >
- <font face="Arial,Helvetica" size="5" color="#FFFFFF">
- <xsl:if test="@Name">
- <xsl:value-of select="@Name"/>
- </xsl:if>
- Original Schema Source
-
- </font>
- </td>
- </tr>
- </table>
- </xsl:template>
- <!--END s:schema***********************************************************-->
- <!--END s:schema***********************************************************-->
- <xsl:template mode="anElement" match="dml:ElementDecl">
- <center>
- <table width="90%" cellspacing="0" cellpadding="2" border="0" >
- <tr bgcolor="#003366">
- <td>
- <font face="Arial,Helvetica" color="#FFFFFF">
- Element
- <A>
- <xsl:attribute name="name">ELEMENT_<xsl:value-of select="@Name"/>
- </xsl:attribute>
- <b>
- <xsl:value-of select="@Name"/>
- </b>
- </A>
- </font>
- </td>
- </tr>
- </table>
- </center>
- <table width="90%" cellspacing="0" cellpadding="0" border="0" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF" align="center">
- <tr>
- <td width="3%" bgcolor="#4444FF" align="left" valign="middle">†</td>
- <td width="97%" align="left" valign="top">
- <table width="100%" cellspacing="3" cellpadding="1" border="0" bordercolor="#FFFFFF" align="left">
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- diagram
- </td>
- <td align="left" valign="top" bgcolor="#eeeeeeee" >
- <img>
- <xsl:attribute name="SRC"><xsl:value-of select="$imageDir"/>/<xsl:value-of select="@Name"/>.gif
- </xsl:attribute>
- </img>
- </td>
- </tr>
- <xsl:if test="DDML:Doc">
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- description
- </td>
- <td width="85%" class="descriptions" align="left" bgcolor="#eeeeeeee" wrap="true">
- <font color="#990000">
- <xsl:apply-templates mode="schemacomments" select="./DDML:Doc"/></font>
- </td>
- </tr>
- </xsl:if>
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- attributes
- </td>
- <td width="85%" class="values" bgcolor="#eeeeeeee">
- <xsl:apply-templates mode="glanceAttrib" select="./dml:AttGroup | ./dml:More"/>
- </td>
- </tr>
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- uses
- </td>
- <td width="85%" class="values" bgcolor="#eeeeeeee"> <xsl:apply-templates mode="uses" select="dml:Model" />
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table width="90%" cellspacing="0" cellpadding="0" border="0" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF" align="center">
- <tr>
- <td width="3%" bgcolor="#6666FF" align="center" valign="top">†</td>
- <td width="97%" align="center" valign="left">
- <table width="100%" cellspacing="3" cellpadding="1" border="0" align="left" valign="top" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF">
- <!-- Find the parents -->
- <TR>
- <TD width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">used by</TD>
- <TD class="values" bgcolor="#eeeeee" align="left" valign="top">
- <xsl:choose>
- <xsl:when test="../dml:ElementDecl[.//dml:Ref[@Element = current()/@Name ]]">
- <xsl:for-each select="../dml:ElementDecl[.//dml:Ref[@Element = current()/@Name ]]"> <xsl:sort select="@Name"/>
- <A class="element-link">
- <xsl:attribute name="HREF">
- #ELEMENT_
- <xsl:value-of select="@Name"/>
- </xsl:attribute>
- <xsl:value-of select="@Name"/>
- </A>
- †
- <xsl:if test="current()[position()!=last()]">,</xsl:if>
- </xsl:for-each>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test=".//dml:Model">
- <SPAN class="note">Not used by other elements. Possible root element.</SPAN>
- </xsl:when>
- <xsl:otherwise>
- <SPAN class="note">Not used by other elements. Probably an orphan.</SPAN>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </TD>
- </TR>
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- content
- </td>
- <td width="85%" class="values" bgcolor="#eeeeeeee">
- <xsl:apply-templates mode="content" select="dml:Model"/> </td>
- </tr>
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- occurrence
- </td>
- <td width="85%" class="values" bgcolor="#eeeeeeee">
- <xsl:apply-templates mode="occurrence" select="dml:Model"/> </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <xsl:if test=".//dml:AttDef | ./dml:More/dml:DataType">
- <table width="90%" cellspacing="0" cellpadding="0" border="0" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF" align="center">
- <tr>
- <td width="3%" bgcolor="#8888FF" align="left" valign="top">†</td>
- <td width="97%" align="left" valign="top">
- <table width="100%" cellspacing="3" cellpadding="1" border="0" align="left" valign="top" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF">
- <tr>
- <th width="15%" bgcolor="#CCCCCC" align="right" valign="top">
- <span class="headers">Attribute</span>
- </th>
- <th width="20%" bgcolor="#CCCCCC" align="left" >
- <span class="headers">Datatype</span>
- </th>
- <th width="20%" bgcolor="#CCCCCC" align="left" >
- <span class="headers">Required</span>
- </th>
- <th width="25%" bgcolor="#CCCCCC" align="left" >
- <span class="headers">Values</span>
- </th>
- <th width="20%" bgcolor="#CCCCCC" align="left" >
- <span class="headers">Default</span>
- </th>
-
- </tr>
- <xsl:apply-templates mode="detailAttrib" select=".//dml:AttGroup | .//dml:More"/>
- </table>
- </td>
- </tr>
- </table>
- </xsl:if>
- <table width="90%" cellspacing="0" cellpadding="0" border="0" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF" align="center">
- <tr>
- <td width="3%" bgcolor="#bbbbbb" align="left" valign="top">†</td>
- <td width="97%" align="left" valign="top">
- <table width="100%" cellspacing="3" cellpadding="1" border="0" align="left" valign="top" bordercolor="#FFFFFF" bordercolordark="#FFFFFF" bordercolorlight="#FFFFFF">
-
- <tr>
- <td width="15%" class="names" bgcolor="#CCCCCC" align="right" valign="top">
- source
- </td>
- <td width="85%" class="source" bgcolor="#eeeeeeee" align="left" valign="top">
- <xsl:apply-templates mode="dtdSource" select="./dml:dtdsource"/>
-
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <p/>
- </xsl:template>
- <xsl:template mode="dtdSource" match="dml:dtdsource">
- <xsl:value-of select="." disable-output-escaping= "yes" />
-
- </xsl:template>
-
-
- <xsl:template mode="glanceAttrib" match="dml:AttDef">
- <xsl:value-of select="@Name"/>
- </xsl:template>
- <xsl:template mode="glanceAttrib" match="dml:More">
- <xsl:value-of select="./dml:DataType"/>
- </xsl:template>
-
- <xsl:template mode="detailAttrib" match="dml:AttDef">
- <tr>
- <td width="15%" bgcolor="#CCCCCC" align="right" valign="top">
- <span class="headers">
- <b>
- <xsl:value-of select="@Name"/>
- </b>
- </span>
- </td>
- <td width="20%" class="values" bgcolor="#eeeeee" align="left" valign="top">
- <!-- <A ><xsl:attribute name="href">#datatype_<xsl:value-of select="@dml:Type"/></xsl:attribute> </A>-->
- <xsl:choose>
- <xsl:when test="@Type">
- <xsl:value-of select="@Type"/>
- </xsl:when>
- <xsl:otherwise>
- string (default)
- </xsl:otherwise>
- </xsl:choose>
-
- </td>
- <td width="20%" class="values" bgcolor="#eeeeee" align="left" valign="top">
- <xsl:choose>
- <xsl:when test="@Required">
- <xsl:value-of select="@Required"/>
- </xsl:when>
- <xsl:otherwise>
- no (default)
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td width="25%" class="values" bgcolor="#eeeeee" align="left" valign="top">
-
- <xsl:for-each select=".//dml:EnumerationValue">
- <xsl:value-of select="@Value" />
- </xsl:for-each>
- </td>
-
- <td width="20%" class="values" bgcolor="#eeeeee" align="left" valign="top">
-
- <xsl:value-of select="@AttValue"/>
- </td>
- </tr>
- </xsl:template>
-
- <xsl:template mode="detailAttrib" match="dml:More">
- <tr>
- <td width="15%" bgcolor="#CCCCCC" align="right" valign="top">
- <span class="headers">
- <b>
- <xsl:value-of select="@Name"/>
- </b>
- </span>
- </td>
- <td width="20%" class="values" bgcolor="#eeeeee" align="left" valign="top">
- <!-- <A ><xsl:attribute name="href">#datatype_<xsl:value-of select="@dml:Type"/></xsl:attribute> </A>-->
- <xsl:choose>
- <xsl:when test="./dml:DataType">
- <xsl:value-of select="./dml:DataType"/>
- </xsl:when>
- <xsl:otherwise>
- string (default)
- </xsl:otherwise>
- </xsl:choose>
-
- </td>
- <td width="20%" class="values" bgcolor="#eeeeee" align="left" valign="top">
-
- </td>
- <td width="25%" class="values" bgcolor="#eeeeee" align="left" valign="top">
-
- </td>
-
- <td width="20%" class="values" bgcolor="#eeeeee" align="left" valign="top">
-
-
- </td>
- </tr>
- </xsl:template>
-
-
- <!-- END detailattributetype TYPE -->
- <xsl:template mode="anElement" match="element">
- <A><xsl:attribute name="HREF">#ELEMENT_<xsl:value-of select="@type"/></xsl:attribute><xsl:value-of select="@type"/>
- </A>
- </xsl:template>
-
- <xsl:template match="DDML:Doc" mode="schemacomments">
-
- <xsl:choose>
- <xsl:when test="not(@usage='USAGE')">
- <xsl:value-of select="text()"/>
- </xsl:when>
- </xsl:choose>
- <!--<xsl:apply-templates mode="comments" />-->
- </xsl:template>
-
- <xsl:template match="DDML:Doc" mode="usagecomments">
- <xsl:choose>
- <xsl:when test="@usage='USAGE'">
- <xsl:value-of select="text()"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
-
- <xsl:template mode="uses" match="dml:Ref">
- <A><xsl:attribute name="HREF">#ELEMENT_<xsl:value-of select="@Element"/>
- </xsl:attribute>
- <xsl:value-of select="@Element"/>
- </A>
- <xsl:choose>
- <xsl:when test="@Frequency">
- [<xsl:value-of select="@Frequency"/>]
- </xsl:when>
- </xsl:choose>
- <xsl:if test="position()!=last()">, </xsl:if>
- </xsl:template>
-
- <xsl:template mode="content" match="dml:Model">
-
- <xsl:if test="dml:Ref">reference</xsl:if>
- <xsl:if test="dml:Choice">choice</xsl:if>
- <xsl:if test="dml:Seq">a sequence of elements</xsl:if>
- <xsl:if test="dml:Empty">empty </xsl:if>
- <xsl:if test="dml:Any">character data and a sequence of elements</xsl:if>
- <xsl:if test="dml:PCData">character data</xsl:if>
- <xsl:if test="dml:Mixed">character data and a sequence of elements</xsl:if>
- </xsl:template>
-
- <xsl:template mode="occurrence" match="dml:Seq | dml:Choice |dml:Mixed |dml:Any">
- <xsl:choose>
- <xsl:when test="@Frequency">
- <xsl:value-of select="@Frequency"/>
- </xsl:when>
- <xsl:otherwise>
- required (default)
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:template>
-
- <xsl:template mode="uses" match="dml:Ref">
- <A><xsl:attribute name="HREF">#ELEMENT_<xsl:value-of select="@Element"/>
- </xsl:attribute>
- <xsl:value-of select="@Element"/>
- </A>
- <xsl:if test="current()[position()!=last()]">,</xsl:if>
- </xsl:template>
-
- <xsl:template match="dml:Doc" mode="comments">
- <xsl:copy>
- <xsl:apply-templates mode="comments" />
- </xsl:copy>
- </xsl:template>
-
- <!-- ***********************SOURCE part...copied from lotus*****************-->
-
- <!-- Templates for each node type follows. The output of each template has a similar structure
- to enable script to walk the result tree easily for handling user interaction. -->
-
- <!-- Template for pis not handled elsewhere -->
- <xsl:template mode="copy" match="processing-instruction()">
- <DIV class="e">
- <SPAN class="b"> </SPAN>
- <SPAN class="m"><?</SPAN><SPAN class="pi"><xsl:value-of select="name(.)"/> <xsl:value-of select="."/></SPAN><SPAN class="m">?></SPAN>
- </DIV>
- </xsl:template>
-
- <!-- Template for the XML declaration. Need a separate template because the pseudo-attributes
- are actually exposed as attributes instead of just element content, as in other pis
- <xsl:template mode="copy" match="processing-instruction('xml')">
- <DIV class="e">
- <SPAN class="b"> </SPAN>
- <SPAN class="m"><?</SPAN><SPAN class="pi">xml <xsl:for-each select="@*"><xsl:value-of select="name(.)"/>="<xsl:value-of select="."/>" </xsl:for-each></SPAN><SPAN class="m">?></SPAN>
- </DIV>
- </xsl:template>
- -->
-
- <!-- Template for attributes not handled elsewhere -->
- <xsl:template mode="copy" match="@*"><SPAN class="t"><xsl:text> </xsl:text><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
-
- <!-- Template for attributes in the xmlns or xml namespace
- <xsl:template mode="copy"match="@xmlns:*|@xmlns|@xml:*"><SPAN class="ns"> <xsl:value-of select="name(.)"/></SPAN><SPAN class="m">="</SPAN><B class="ns"><xsl:value-of select="."/></B><SPAN class="m">"</SPAN></xsl:template>
- -->
-
- <!-- Template for text nodes -->
- <xsl:template mode="copy" match="text()">
- <xsl:choose><xsl:when test="name(.) = '#cdata-section'"><xsl:call-template name="cdata"/></xsl:when>
- <xsl:otherwise><DIV class="e">
- <SPAN class="b"> </SPAN>
- <SPAN class="tx"><xsl:value-of select="."/></SPAN>
- </DIV></xsl:otherwise></xsl:choose>
- </xsl:template>
-
- <!-- Template for comment nodes -->
- <xsl:template mode="copy" match="comment()">
- <DIV class="k">
- <SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m"><!--</SPAN></SPAN>
- <SPAN id="clean" class="ci"><PRE><xsl:value-of select="."/></PRE></SPAN>
- <SPAN class="b"> </SPAN> <SPAN class="m">--></SPAN>
- <SCRIPT>f(clean);</SCRIPT></DIV>
- </xsl:template>
-
- <!-- Template for cdata nodes -->
- <xsl:template name="cdata">
- <DIV class="k">
- <SPAN><A class="b" onclick="return false" onfocus="h()" STYLE="visibility:hidden">-</A> <SPAN class="m"><![CDATA[</SPAN></SPAN>
- <SPAN id="clean" class="di"><PRE><xsl:value-of select="."/></PRE></SPAN>
- <SPAN class="b"> </SPAN> <SPAN class="m">]]></SPAN>
- <SCRIPT>f(clean);</SCRIPT></DIV>
- </xsl:template>
-
- <!-- Template for elements not handled elsewhere (leaf nodes) -->
- <xsl:template mode="copy" match="*">
- <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
- <SPAN class="b"> </SPAN>
- <SPAN class="m"><</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN> <xsl:apply-templates mode="copy" select="@*"/><SPAN class="m"> /></SPAN>
- </DIV></DIV>
- </xsl:template>
-
- <!-- Template for elements with comment, pi and/or cdata children
- <xsl:template mode="copy" match="*[comment() or processing-instruction() or cdata()]">
- <DIV class="e">
- <DIV class="c"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m"><</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates mode="copy" select="@*"/> <SPAN class="m">></SPAN></DIV>
- <DIV><xsl:apply-templates mode="copy" />
- <DIV><SPAN class="b"> </SPAN> <SPAN class="m"></</SPAN><SPAN><xsl:attribute name="class"><xsl:if test="xsl:*">x</xsl:if>t</xsl:attribute><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">></SPAN></DIV>
- </DIV></DIV>
- </xsl:template> -->
-
- <!-- Template for elements with only text children -->
- <xsl:template mode="copy" match="*[text() and not(comment() or processing-instruction() or *)]">
- <DIV class="e"><DIV STYLE="margin-left:1em;text-indent:-2em">
- <SPAN class="b"> </SPAN> <SPAN class="m"><</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates mode="copy" select="@*"/>
- <SPAN class="m">></SPAN><SPAN class="tx"><xsl:value-of select="."/></SPAN><SPAN class="m"></</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">></SPAN>
- </DIV></DIV>
- </xsl:template>
-
- <!-- Template for elements with element children -->
- <xsl:template mode="copy" match="*[*]">
- <DIV class="e">
- <DIV class="c" STYLE="margin-left:1em;text-indent:-2em"><A href="#" onclick="return false" onfocus="h()" class="b">-</A> <SPAN class="m"><</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><xsl:apply-templates mode="copy" select="@*"/><SPAN class="m">></SPAN></DIV>
- <DIV><xsl:apply-templates mode="copy" />
- <DIV><SPAN class="b"> </SPAN><SPAN class="m"></</SPAN><SPAN class="t"><xsl:value-of select="name(.)"/></SPAN><SPAN class="m">></SPAN></DIV>
- </DIV></DIV>
- </xsl:template>
- function writeEnumeration(_contextNodeList)
- {
- var __this = _contextNodeList.item(0);
- return formatEnum(__this, __this.selectSingleNode("../@default"));
- }
-
- </xsl:stylesheet>
-